package com.ruoyi.demo.domain.dto;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.demo.domain.AuctionCategory;
import com.ruoyi.demo.domain.AuctionUser;
import lombok.Data;

/**
 * 商品详情信息DTO
 *
 * @author metaee
 * @date 2025-02-24
 */
@Data
@ApiModel("商品详情信息DTO")
public class AuctionGoodsDetailDTO {
    
    /** 商品ID */
    @ApiModelProperty("商品ID")
    private Long goodsId;

    /** 分类ID */
    @ApiModelProperty("分类ID")
    private Long categoryId;

    /** 发布用户ID */
    @ApiModelProperty("发布用户ID")
    private Long userId;

    /** 商品名称 */
    @ApiModelProperty("商品名称")
    private String goodsName;

    /** 商品描述 */
    @ApiModelProperty("商品描述")
    private String goodsDesc;

    /** 起拍价 */
    @ApiModelProperty("起拍价")
    private BigDecimal startPrice;

    /** 当前价格 */
    @ApiModelProperty("当前价格")
    private BigDecimal currentPrice;

    /** 加价幅度 */
    @ApiModelProperty("加价幅度")
    private BigDecimal stepPrice;

    /** 商品图片(逗号隔开) */
    @ApiModelProperty("商品图片(逗号隔开)")
    private String images;

    /** 开始时间 */
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 状态(字典：auction_goods_status) */
    @ApiModelProperty("状态")
    private String status;
    
    /** 创建时间 */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    
    /** 更新时间 */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    
    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;
    
    /** 分类信息 */
    @ApiModelProperty("分类信息")
    private AuctionCategory category;
    
    /** 用户信息 */
    @ApiModelProperty("用户信息")
    private AuctionUser user;

    /** 专场ID */
    @ApiModelProperty("专场ID")
    private Long sessionId;

    /** 是否为专场商品 */
    @ApiModelProperty("是否为专场商品")
    private Boolean isSessionGoods;
    
    /** 是否已收藏 */
    @ApiModelProperty("是否已收藏")
    private Boolean favoriteStatus;
    
    /** 收藏ID */
    @ApiModelProperty("收藏ID")
    private Long favoriteId;
} 